package br.com.ffm.info.praticas.fiptwitter.core;

import java.util.HashMap;

import br.com.ffm.info.praticas.fiptwitter.exception.FIPTwitterServiceException;


public class FIPTwitter {

	private HashMap<String, User> users = new HashMap<String, User>();
	
	public User newUser(String nome, String login, String senha) throws FIPTwitterServiceException {
		if(senha == null || senha.length() <= 5) {
			throw new FIPTwitterServiceException("Senha deve conter mais do que 5 caracteres.");
		}
		
		if(users.containsKey(login)) {
			throw new FIPTwitterServiceException("Login já existe!");
		}
		
		User user = new User(nome, login, senha);
		users.put(login, user);
		
		return user;
	}

	public User findByLogin(String login) throws FIPTwitterServiceException {
		if(login == null || login.equals("")) {
			throw new FIPTwitterServiceException("Login inválido.");
		}
		
		if(users.get(login) == null) {
			throw new FIPTwitterServiceException("Usuário não cadastrado.");
		}
		
		return users.get(login);
	}

	public boolean hasLogin(String login) {
		return users.containsKey(login);
	}

}
